アイコンの関連付け
[レジストリエディタ図 Defaulticonキー]
Q:(憲さん)
アイコンのところにプログラムの名前がかいてありますね。これはどうしてですか? それにうしろにある「30」っていう数字はなんでしょう。
A:(延さん)
勿論ここに直接アイコンファイル名を記述してもいいんだけど、アイコンを表現するものってアイコンファイルだけではないんだ。むしろ関連付けに関してはプログラムが圧倒的に多いはず。Windowsのプログラムは通常アイコンが含有されています。しかも複数のアイコンを含有できるので、何番目のアイコンを使うかも指定できます。後ろの「30」というのはその番号。ただし1番目は「0」と記述します。プログラム名と数字の間に「,(カンマ)」を入れるのも忘れないように。
あとプログラムだけでなくて、DLLファイルの中にも沢山あります。Windowsのシステムで使っているアイコンは全てDLLに入ってます。特にSystemフォルダにある「shell32.dll」っていうDLLファイルには非常に沢山のアイコンが入っていて、システムでがんがん使っています。
しかしアイコンの指定はレジストリエディタより、ファイルタイプタブの方が遥かに便利だよ。何といってもプログラムやDLLファイルを指定すると、そこに入っているアイコンを表示してくれます。見て確認しながらアイコンを選べるという訳。
ファイルタイプの編集ダイアログで、「アイコンの変更(I)...」ボタンをクリックすると、次のアイコンの変更ダイアログが表示されます。
[アイコンの変更ダイアログ]
ここで「参照」でファイルを探し、気に入ったアイコンを選んで、「OK」ボタンを押せばいいんだ、簡単でしょ。
Q:(貴子)
確かにアイコンの変更はここの方が全然いいわね。ところで下のファイルタイプみたいにDefaulticonキーが無かったらどうなっちゃうの? 例のウィンドウのアイコンになってしまうのかしら?
[レジストリエディタ図 Defaulticonキーなし]
A:(延さん)
一応Defaulticonキーがない場合でも、特定のアイコンを表示するルールが一つだけあります。それは「open」アクションに記述されたアプリケーションプログラムの先頭のアイコンです。注意してほしいのは、必ず「open」アクションのアプリケーションが使われることです。たとえ「open」アクションが標準アクションでなくても、「open」アクションのアプリケーションアイコンが採用されます。
またこのルールで表示されるアイコンはちょっと違った風に表示されます。下記のように白い紙にそのアイコンを少し小さくしたものを乗せたようなアイコンになるんだ。
Q:(貴子)
わあっ、かわいい!! こんなアイコンになるんだ。確かにメモ帳のアイコンが小さくなって、白い紙に乗っているわ。
A:(延さん)
結構僕は、これ気に入っているんだ。関連付けアプリケーションのアイコンそのままより、何か関連付けファイルのアイコンっていう感じでGOODだと思ってね。だからわざわざレジストリいじってこうしているものもあります。
Q:(憲さん)
けっけっ憲さんもこの方法にします。
A:(延さん)
しかしアプリケーションのパス名に、以下のように「スペース」が入っている場合、
[レジストリエディタ図 スペースを含むパス]
これがうまく動作せず、どんなアプリケーションでも次のようなアイコンになってしまいます。
これを回避するため、アプリケーションパス名にスペースが無くなるように、「短いファイル名(DOS名)」を使用して下さい。
[レジストリエディタ図 短いファイル名(DOS)のパス]
こうすれば指定アプリケーションのアイコンが縮小したかわいいアイコンになります。ただしWindows98の場合は、アプリケーションパス名を「ダブルクォーテンション」で囲んでも回避できます。
[レジストリエディタ図 ダブルクォーテンション囲まれたパス]
この方法はWindows95及びWindowsNT 4.0では有効になりません。これらの場合は必ず「短いファイル名のパス」を使う必要があります。
Q:(憲さん)
分かりました。ところでアプリケーションの実行ファイルなどはそれ自身のアイコンが表示されますが、これはまた違ったルールがあるのですか?
A:(延さん)
ルールは基本的に同じ。実行ファイルはつまり、拡張子「exe」に関連付けられた一つのファイルタイプに関連付けられている訳でしょ。実行ファイルのファイルタイプは「exefile」といいます。このファイルタイプのDefaulticonキーを見てください。
[レジストリエディタ図 アイコンを自分自身に指定]
値が%1になっています。これは自分自身ということを意味します。これによってある特定のアイコンではなくそのファイルによってダイナミックにアイコンが変る訳です。実行ファイルが複数のアイコンを持っていたら、先頭のアイコンが使われます。
もともとこのように自分自身を表示するようになっているのは実行ファイル(exe)の他に、アイコン(ico)、カーソル(cur)、アニメーションカーソル(ani)があります。
ビットマップファイルなんかも同じようにすることでエクスプローラに表示させてしまうことができるんで、よく雑誌などにも紹介されているけど、大きさがまちまちのビットマップファイルをエクスプローラに表示してもなんだか解らないものになってしまうのが関の山だし、第一エクスプローラの表示がやたら遅くなってしまうので、決してお勧めはできないTipsだね。
また先ほどのDLLファイルなどもアイコンを含有しているファイルは、このような設定にすることでエクスプローラで含有アイコンの先頭アイコンを表示させることもできますが、なおさらお勧めできないことです。ただ仕組みを理解するのに、一度やってみるのも面白いかもしれません。
Q:(貴子)
JPEGやGIFなんかもなるの?
A:(延さん)
Windowsが標準でサポートしている画像フォーマットでないからだめだよ。IE4.0なら壁紙にも指定できるようになっているから、Windows98あたりではできるようになるかと思ったけど、ならなかったね。でも前述のようにこの場合も決してお勧めできることではないです。
逆に実行ファイルなども、デフォルトアイコンを「%1」としないで特定のアイコンを指定することで、エクスプローラの表示を速くするようにしている人もいるくらいです。
Q:(貴子)
そうするとエクスプローラの表示が速くなるの?
A:(延さん)
なります。エクスプローラの表示のときにいちいち実行ファイルの中からアイコンを取り出さなくてもよくなるからね。CD-ROMなどの遅いデバイスの場合は特に効果的です。ただ若干エクスプローラが殺風景になってしまうので、好き好きでしょうね。僕はやってません。マシンも速いですから。
Q:(憲さん)
憲さんのマシンもPentium-II 333MHzですから、それはやりません。おねさんはやった方がいいのでは。
Q:(貴子)
失礼ね! いいの、私はエクスプローラなんて殆ど使わないから。
A:(延さん)
これだもんな。本当はこの人にはFAQもくそもないんですよね。ふ〜っ。